/**
 * @description: 扁平树 -> tree data
 * @param origins 数据源
 * @param parentId 父级ID
 * @return 平铺数据
 */
export function toTreeFlat<T extends TreeData>(origin: T[], parentId: number | string = "root") {
  // treeArr 变量数据
  // 第一次：查找所有parentId为的数据组成第一级
  const child = origin.filter((item: any) => item.parentId === parentId);
  // 第一次：循环parentId为数组
  return child.map((item: T) => {
    return {
      ...item,
      // 当前存在id（id与parentId应该是必须有的）调用initTree() 查找所有parentId为本id的数据
      children: toTreeFlat(origin, item.id),
    };
  });
}
